#ifndef ALUMNO_H_
#define ALUMNO_H_
#include "Usuario.h"
#include "Altavoz.h"
#include "ReceptorFramesAV.h"
#include "ReproductorVideo.h"
class ReceptorFramesAV;
class VentanaAlumno;

class Alumno : public Usuario {
private:
  ReceptorFramesAV* receptor;
  ReproductorVideo* reproductor_video;
  Altavoz* altavoz;
  VentanaAlumno *ventana;
  bool en_clase;
public:
	Alumno(char* ip_serv, char* puerto, char* puerto_av);
	virtual ~Alumno();
	void crear_hilos_de_recepcion();
	ReproductorVideo* get_reproductor_video();
	bool esta_en_clase();
	int entro_a_clase(char* cod_clase, int tamanio_cod_clase);
	int salio_de_clase(char* cod_clase, int tamanio_cod_clase);
	bool buscarClase(unsigned int cod_Clase);
	bool buscarCurso(unsigned int cod_Curso);
	int Inscribir(char codOp, std::string codigo, std::string clave);
	int Inscripcion(char codOp, std::string codigo, std::string clave);
	void transmitiendo(bool trans);
	void levantarVentana();
	void setVentana(VentanaAlumno *ven);
	int bajarVideo(std::string codigo, std::string nombre_archivo);
	int bajarAdjunto(std::string nombre_archivo);
	int recibirCartelera();
	int recibirCarteleraVideos();
	int recibirCarteleraAdjuntos();
};

#endif
